<!DOCTYPE html><html lang="zh-CN"><head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>isValid() | Moment.js &#x6587;&#x6863;</title>
  <link rel="stylesheet" href="static/css/style.css">
  <link rel="shortcut icon" href="http://momentjs.cn/static/img/moment-favicon.png">
  <link rel="stylesheet" href="static/css/atom-one-light.min.css">
</head>
<body class="is-moment">
  <div class="hero hero-oneline">
    <div class="hero-centered">
      <h1>isValid()</h1>
    </div>
  </div>
  <div id="api-section-__FILENAME__">
    <div id="content" class="clearfix">
  
      <div id="column1" data-id="__ID__" class="interior">
        <header>
          <!-- <h1>isValid()</h1> -->
          <div id="gtoc">
            <ul>
              <!-- <li>v</li> -->
              <li>
                <a href="index.html#/parsing/is-valid/" name="toc">&#x8FD4;&#x56DE;&#x4E0A;&#x5C42;&#x6587;&#x6863;</a>
              </li>
              <li style="border: none;">
                <a href="javascript:window.open('https://github.com/momentjscn/moment-docs-cn/edit/master/moment/01-parsing/15-is-valid.md');" rel="nofollow" target="_blank">&#x63D0;&#x4EA4;&#x4FEE;&#x6539;</a>
              </li>
              <!-- <li>
                <a href="/search__SEARCH_PARAM__" name="toc">搜索</a>
              </li> -->
            </ul>
          </div>
          <hr>
        </header>

        <div id="biz_item"></div>
  
        <div id="apicontent">
          <div id="content_left">
							<div class="docs-method-signature">
								<pre><code class="language-js">moment().isValid();
</code></pre>

							</div>
<p>Moment &#x6BD4; <code>Date</code> &#x6784;&#x9020;&#x5668;&#x5E94;&#x7528;&#x66F4;&#x4E25;&#x683C;&#x7684;&#x521D;&#x59CB;&#x5316;&#x89C4;&#x5219;&#x3002;</p>
<pre><code class="language-js">new Date(2013, 25, 14).toString(); // &quot;Sat Feb 14 2015 00:00:00 GMT-0500 (EST)&quot;
moment([2015, 25, 35]).format();   // &apos;Invalid date&apos;
</code></pre>
<p>&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>moment#isValid</code> &#x68C0;&#x67E5; Moment &#x662F;&#x5426;&#x88AB;&#x89C6;&#x4E3A;&#x65E0;&#x6548;&#x7684;&#x65E5;&#x671F;&#x3002;
&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>moment#parsingFlags</code> &#x67E5;&#x770B; <code>#isValid</code> &#x4F7F;&#x7528;&#x7684;&#x6307;&#x6807;&#xFF0C;&#x8BE5;&#x6307;&#x6807;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x5BF9;&#x8C61;&#x3002;</p>
<p>&#x65E0;&#x6548;&#x7684;&#x65E5;&#x671F;&#x4F1A;&#x8FD4;&#x56DE;&#x4EE5;&#x4E0B;&#x7684;&#x89E3;&#x6790;&#x6807;&#x5FD7;&#xFF1A;</p>
<ul>
<li><code>overflow</code>: &#x65E5;&#x671F;&#x5B57;&#x6BB5;&#x7684;&#x6EA2;&#x51FA;&#xFF0C;&#x4F8B;&#x5982;&#x7B2C; 13 &#x4E2A;&#x6708;&#x3001;&#x6708;&#x4EFD;&#x7684;&#x7B2C; 32 &#x5929;&#xFF08;&#x6216;&#x975E;&#x95F0;&#x5E74;&#x7684; 2 &#x6708; 29 &#x65E5;&#xFF09;&#x3001;&#x5E74;&#x4EFD;&#x7684;&#x7B2C; 367 &#x5929;&#x7B49;&#x3002;
<code>overflow</code> &#x4F1A;&#x5305;&#x542B;&#x5339;&#x914D; <code>#invalidAt</code>&#xFF08;&#x53C2;&#x9605;&#x4E0B;&#x6587;&#xFF09;&#x7684;&#x65E0;&#x6548;&#x5355;&#x4F4D;&#x7684;&#x7D22;&#x5F15;&#xFF0C;<code>-1</code> &#x8868;&#x793A;&#x6CA1;&#x6709;&#x6EA2;&#x51FA;&#x3002;</li>
<li><code>invalidMonth</code>: &#x65E0;&#x6548;&#x7684;&#x6708;&#x4EFD;&#x540D;&#x79F0;&#xFF0C;&#x4F8B;&#x5982; <code>moment(&apos;Marbruary&apos;, &apos;MMMM&apos;);</code>&#x3002;
&#x4F1A;&#x5305;&#x542B;&#x65E0;&#x6548;&#x7684;&#x6708;&#x4EFD;&#x5B57;&#x7B26;&#x4E32;&#x672C;&#x8EAB;&#x6216; null&#x3002;</li>
<li><code>empty</code>: &#x5305;&#x542B;&#x65E0;&#x6CD5;&#x89E3;&#x6790;&#x4EFB;&#x4F55;&#x5185;&#x5BB9;&#x7684;&#x8F93;&#x5165;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x4F8B;&#x5982; <code>moment(&apos;this is nonsense&apos;);</code>&#x3002;&#x5E03;&#x5C14;&#x503C;&#x3002;</li>
<li><code>nullInput</code>: &#x8F93;&#x5165; <code>null</code>&#xFF0C;&#x4F8B;&#x5982; <code>moment(null);</code>&#x3002;&#x5E03;&#x5C14;&#x503C;&#x3002;</li>
<li><code>invalidFormat</code>: &#x7A7A;&#x7684;&#x683C;&#x5F0F;&#x5217;&#x8868;&#xFF0C;&#x4F8B;&#x5982; <code>moment(&apos;2013-05-25&apos;, [])</code>&#x3002;&#x5E03;&#x5C14;&#x503C;&#x3002;</li>
<li><code>userInvalidated</code>: &#x663E;&#x5F0F;&#x5730;&#x521B;&#x5EFA;&#x4E3A;&#x65E0;&#x6548;&#x7684;&#x65E5;&#x671F;&#xFF0C;&#x4F8B;&#x5982; <code>moment.invalid()</code>&#x3002;&#x5E03;&#x5C14;&#x503C;&#x3002;</li>
</ul>
<p>&#x9664;&#x4E0A;&#x8FF0;&#x5185;&#x5BB9;&#x5916;&#xFF0C;&#x4ECE; <strong>2.13.0</strong> &#x5F00;&#x59CB;&#xFF0C;meridiem &#x548C; parsedDateParts &#x6807;&#x5FD7;&#x4E5F;&#x53EF;&#x4EE5;&#x4E00;&#x8D77;&#x5224;&#x65AD;&#x65E5;&#x671F;&#x7684;&#x6709;&#x6548;&#x6027;&#x3002;</p>
<ul>
<li><code>meridiem</code>: &#x8868;&#x660E;&#x89E3;&#x6790;&#x7684;&#x5B50;&#x5348;&#x7EBF;&#xFF08;AM/PM&#xFF09;&#xFF0C;&#x5982;&#x679C;&#x6709;&#x7684;&#x8BDD;&#x3002;&#x5B57;&#x7B26;&#x4E32;&#x3002;</li>
<li><code>parsedDateParts</code>: &#x8FD4;&#x56DE;&#x6309;&#x964D;&#x5E8F;&#x89E3;&#x6790;&#x7684;&#x65E5;&#x671F;&#x7247;&#x6BB5;&#x7684;&#x6570;&#x7EC4;&#xFF0C;&#x5373; parsedDateParts[0] === &#x5E74;&#x4EFD;&#x3002; &#x5982;&#x679C;&#x6CA1;&#x6709;&#x7247;&#x6BB5;&#xFF0C;&#x4F46;&#x5B50;&#x5348;&#x7EBF;&#x6709;&#x503C;&#xFF0C;&#x5219;&#x65E5;&#x671F;&#x65E0;&#x6548;&#x3002;&#x6570;&#x7EC4;&#x3002;</li>
</ul>
<p>&#x6B64;&#x5916;&#xFF0C;&#x5982;&#x679C;&#x5728;&#x4E25;&#x683C;&#x6A21;&#x5F0F;&#x4E2D;&#x89E3;&#x6790; Moment&#xFF0C;&#x5219;&#x8FD9;&#x4E9B;&#x6807;&#x5FD7;&#x5FC5;&#x987B;&#x4E3A;&#x7A7A;&#x624D;&#x80FD;&#x4F7F; Moment &#x6709;&#x6548;&#xFF1A;</p>
<ul>
<li><code>unusedTokens</code>: &#x5728;&#x8F93;&#x5165;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x627E;&#x4E0D;&#x5230;&#x683C;&#x5F0F;&#x6570;&#x7EC4;&#x7684;&#x5B50;&#x5B57;&#x7B26;&#x4E32;&#x3002;</li>
<li><code>unusedInput</code>: &#x8F93;&#x5165;&#x7684;&#x5B50;&#x5B57;&#x7B26;&#x4E32;&#x6570;&#x7EC4;&#x4E0E;&#x683C;&#x5F0F;&#x5B57;&#x7B26;&#x4E32;&#x4E0D;&#x5339;&#x914D;&#x3002;</li>
</ul>
<p>&#x6CE8;&#x610F;&#xFF1A;Moment &#x7684;&#x6709;&#x6548;&#x6027;&#x6982;&#x5FF5;&#x5728; <strong>2.2</strong> &#x548C; <strong>2.3</strong> &#x4E4B;&#x95F4;&#x53D8;&#x5F97;&#x66F4;&#x52A0;&#x4E25;&#x683C;&#x548C;&#x4E00;&#x81F4;&#x3002;
&#x6CE8;&#x610F;&#xFF1A;&#x6709;&#x6548;&#x6027;&#x5728;&#x521B;&#x5EFA; moment &#x65F6;&#x786E;&#x5B9A;&#x3002;
&#x4FEE;&#x6539;&#x7684; moment&#xFF08;&#x5373; <code>moment().hour(NaN)</code>&#xFF09;&#x5C06;&#x4F1A;&#x4FDD;&#x6301;&#x6709;&#x6548;&#x3002;</p>
<p>&#x6B64;&#x5916;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>moment#invalidAt</code> &#x6765;&#x786E;&#x5B9A;&#x6EA2;&#x51FA;&#x7684;&#x662F;&#x54EA;&#x4E2A;&#x65E5;&#x671F;&#x5355;&#x4F4D;&#x3002;</p>
<pre><code class="language-javascript">var m = moment(&quot;2011-10-10T10:20:90&quot;);
m.isValid(); // false
m.invalidAt(); // 5 &#x8868;&#x793A;&#x79D2;&#x949F;
</code></pre>
<p>&#x8FD4;&#x56DE;&#x503C;&#x5177;&#x6709;&#x4EE5;&#x4E0B;&#x542B;&#x4E49;&#xFF1A;</p>
<ol>
  <li>&#x5E74;&#x4EFD;</li>
  <li>&#x6708;&#x4EFD;</li>
  <li>&#x65E5;&#x671F;</li>
  <li>&#x5C0F;&#x65F6;</li>
  <li>&#x5206;&#x949F;</li>
  <li>&#x79D2;&#x949F;</li>
  <li>&#x6BEB;&#x79D2;</li>
</ol>
<p>&#x6CE8;&#x610F;&#xFF1A;&#x5982;&#x679C;&#x6709;&#x591A;&#x4E2A;&#x9519;&#x8BEF;&#x7684;&#x5355;&#x4F4D;&#xFF0C;&#x5219;&#x8FD4;&#x56DE;&#x7B2C;&#x4E00;&#x4E2A;&#x5355;&#x4F4D;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;&#x7531;&#x4E8E;&#x65E5;&#x671F;&#x7684;&#x6709;&#x6548;&#x6027;&#x53EF;&#x80FD;&#x53D6;&#x51B3;&#x4E8E;&#x6708;&#x4EFD;&#xFF09;&#x3002;</p>
<h1>&#x65E0;&#x6548;&#x7684; Moment</h1>
<p>&#x5982;&#x679C; moment &#x65E0;&#x6548;&#xFF0C;&#x5219;&#x5728;&#x6D6E;&#x70B9;&#x8FD0;&#x7B97;&#x4E2D;&#x7684;&#x884C;&#x4E3A;&#x7C7B;&#x4F3C;&#x4E8E; NaN&#x3002;</p>
<p>&#x4EE5;&#x4E0B;&#x6240;&#x6709;&#x7684;&#x90FD;&#x4F1A;&#x751F;&#x6210;&#x65E0;&#x6548;&#x7684; moment&#xFF1A;</p>
<ul>
<li><code>invalid.add(unit, value)</code></li>
<li><code>another.add(invalid)</code></li>
<li><code>invalid.clone()</code></li>
<li><code>invalid.diff(another)</code></li>
<li><code>invalid.endOf(unit)</code></li>
<li><code>invalid.max(another)</code></li>
<li><code>another.max(invalid)</code></li>
<li><code>invalid.min(another)</code></li>
<li><code>another.min(invalid)</code></li>
<li><code>invalid.set(unit, value)</code></li>
<li><code>invalid.startOf(unit)</code></li>
<li><code>invalid.subtract(unit, value)</code></li>
</ul>
<p>&#x4EE5;&#x4E0B;&#x4F1A;&#x751F;&#x6210; <code>&apos;InvalidDate&apos;</code> &#x7684;&#x672C;&#x5730;&#x5316;&#x7248;&#x672C;&#xFF1A;</p>
<ul>
<li><code>invalid.format(anyFmt)</code> &#x5728;&#x5F53;&#x524D;&#x8BED;&#x8A00;&#x73AF;&#x5883;&#x4E2D;&#x5BFC;&#x81F4; <code>&apos;Invalid Date&apos;</code>&#x3002;</li>
<li><code>invalid.from(another)</code></li>
<li><code>another.from(invalid)</code></li>
<li><code>invalid.fromNow(suffix)</code></li>
<li><code>invalid.to(another)</code></li>
<li><code>another.to(invalid)</code></li>
<li><code>invalid.toNow(suffix)</code></li>
<li><code>invalid.toISOString()</code> (&#x5728; 2.18.0 &#x4E4B;&#x524D;)</li>
<li><code>invalid.toString()</code></li>
</ul>
<p>&#x4EE5;&#x4E0B;&#x4F1A;&#x8FD4;&#x56DE; <code>false</code>&#xFF1A;</p>
<ul>
<li><code>invalid.isAfter(another)</code></li>
<li><code>invalid.isAfter(invalid)</code></li>
<li><code>another.isAfter(invalid)</code></li>
<li><code>invalid.isBefore(another)</code></li>
<li><code>invalid.isBefore(invalid)</code></li>
<li><code>another.isBefore(invalid)</code></li>
<li><code>invalid.isBetween(another, another)</code></li>
<li><code>invalid.isBetween(invalid, invalid)</code></li>
<li><code>invalid.isSame(another)</code></li>
<li><code>invalid.isSame(invalid)</code></li>
<li><code>another.isSame(invalid)</code></li>
<li><code>invalid.isSameOrAfter(another)</code></li>
<li><code>invalid.isSameOrAfter(invalid)</code></li>
<li><code>another.isSameOrAfter(invalid)</code></li>
<li><code>invalid.isSameOrBefore(another)</code></li>
<li><code>invalid.isSameOrBefore(invalid)</code></li>
<li><code>another.isSameOrBefore(invalid)</code></li>
</ul>
<p>&#x8FD9;&#x4E9B;&#x4F1A;&#x8FD4;&#x56DE;&#x5177;&#x6709;&#x67D0;&#x4E9B;&#x7ED3;&#x6784;&#x7684; <code>null</code> &#x6216; <code>NaN</code>&#xFF1A;</p>
<ul>
<li><code>invalid.get(unit)</code> &#x8FD4;&#x56DE; null&#xFF0C;&#x5C31;&#x50CF;&#x5176;&#x4ED6;&#x6240;&#x6709;&#x547D;&#x540D;&#x7684; getter &#x4E00;&#x6837;&#x3002;</li>
<li><code>invalid.toArray() === [NaN, NaN, NaN, NaN, NaN, NaN]</code></li>
<li><code>invalid.toObject()</code> &#x7684;&#x6240;&#x6709;&#x503C;&#x90FD;&#x88AB;&#x8BBE;&#x7F6E;&#x4E3A; <code>NaN</code>&#x3002;</li>
<li><code>invalid.toDate()</code> &#x8FD4;&#x56DE;&#x65E0;&#x6548;&#x7684; Date &#x5BF9;&#x8C61;&#x3002;</li>
<li><code>invalid.toJSON()</code> &#x8FD4;&#x56DE; null&#x3002;</li>
<li><code>invalid.unix()</code> &#x8FD4;&#x56DE; null&#x3002;</li>
<li><code>invalid.valueOf()</code> &#x8FD4;&#x56DE; null&#x3002;</li>
<li><code>invalid.toISOString()</code> &#x8FD4;&#x56DE; null&#xFF08;&#x4ECE; 2.18.0 &#x5F00;&#x59CB;&#xFF09;&#x3002;</li>
</ul>
					</div>
          <div id="content_right">
							<div class="docs-method-signature">
								<pre><code class="language-js">moment().isValid();
</code></pre>

							</div>
<p>Moment applies stricter initialization rules than the <code>Date</code> constructor.</p>
<pre><code class="language-js">new Date(2013, 25, 14).toString(); // &quot;Sat Feb 14 2015 00:00:00 GMT-0500 (EST)&quot;
moment([2015, 25, 35]).format();   // &apos;Invalid date&apos;
</code></pre>
<p>You can check whether the Moment considers the date invalid using <code>moment#isValid</code>. You can check the metrics used by <code>#isValid</code> using <code>moment#parsingFlags</code>, which returns an object.</p>
<p>The following parsing flags result in an invalid date:</p>
<ul>
<li><code>overflow</code>: An overflow of a date field, such as a 13th month, a 32nd day of the month (or a 29th of February on non-leap years), a 367th day of the year, etc. <code>overflow</code> contains the index of the invalid unit to match <code>#invalidAt</code> (see below); <code>-1</code> means no overflow.</li>
<li><code>invalidMonth</code>: An invalid month name, such as <code>moment(&apos;Marbruary&apos;, &apos;MMMM&apos;);</code>. Contains the invalid month string itself, or else null.</li>
<li><code>empty</code>: An input string that contains nothing parsable, such as <code>moment(&apos;this is nonsense&apos;);</code>. Boolean.</li>
<li><code>nullInput</code>: A <code>null</code> input, like <code>moment(null);</code>. Boolean.</li>
<li><code>invalidFormat</code>: An empty list of formats, such as <code>moment(&apos;2013-05-25&apos;, [])</code>. Boolean.</li>
<li><code>userInvalidated</code>: A date created explicitly as invalid, such as <code>moment.invalid()</code>. Boolean.</li>
</ul>
<p>In addition to the above, As of <strong>2.13.0</strong> the meridiem and parsedDateParts flags work together to determine date validity.</p>
<ul>
<li><code>meridiem</code>: Indicates what meridiem (AM/PM) was parsed, if any. String.</li>
<li><code>parsedDateParts</code>: Returns an array of date parts parsed in descending order - i.e. parsedDateParts[0] === year. If no parts are present, but meridiem has value, date is invalid. Array.</li>
</ul>
<p>Additionally, if the Moment is parsed in strict mode, these flags must be empty for the Moment to be valid:</p>
<ul>
<li><code>unusedTokens</code>: array of format substrings not found in the input string</li>
<li><code>unusedInput</code>: array of input substrings not matched to the format string</li>
</ul>
<p><strong>Note:</strong> Moment&apos;s concept of validity became more strict and consistent between <strong>2.2</strong> and <strong>2.3</strong>.
<strong>Note:</strong> Validity is determined on moment creation. A modified moment (i.e. <code>moment().hour(NaN)</code>) will remain valid.</p>
<p>Additionally, you can use <code>moment#invalidAt</code> to determine which date unit overflowed.</p>
<pre><code class="language-javascript">var m = moment(&quot;2011-10-10T10:20:90&quot;);
m.isValid(); // false
m.invalidAt(); // 5 for seconds
</code></pre>
<p>The return value has the following meaning:</p>
<ol>
  <li>years</li>
  <li>months</li>
  <li>days</li>
  <li>hours</li>
  <li>minutes</li>
  <li>seconds</li>
  <li>milliseconds</li>
</ol>
<p><strong>Note:</strong> In case of multiple wrong units the first one is returned (because
days validity may depend on month, for example).</p>
<h1>Invalid Moments</h1>
<p>If a moment is invalid, it behaves like a NaN in floating point operations.</p>
<p>All of the following produce invalid moments:</p>
<ul>
<li><code>invalid.add(unit, value)</code></li>
<li><code>another.add(invalid)</code></li>
<li><code>invalid.clone()</code></li>
<li><code>invalid.diff(another)</code></li>
<li><code>invalid.endOf(unit)</code></li>
<li><code>invalid.max(another)</code></li>
<li><code>another.max(invalid)</code></li>
<li><code>invalid.min(another)</code></li>
<li><code>another.min(invalid)</code></li>
<li><code>invalid.set(unit, value)</code></li>
<li><code>invalid.startOf(unit)</code></li>
<li><code>invalid.subtract(unit, value)</code></li>
</ul>
<p>The following produce a localized version of <code>&apos;InvalidDate&apos;</code>:</p>
<ul>
<li><code>invalid.format(anyFmt)</code> results in <code>&apos;Invalid Date&apos;</code> in the current locale</li>
<li><code>invalid.from(another)</code></li>
<li><code>another.from(invalid)</code></li>
<li><code>invalid.fromNow(suffix)</code></li>
<li><code>invalid.to(another)</code></li>
<li><code>another.to(invalid)</code></li>
<li><code>invalid.toNow(suffix)</code></li>
<li><code>invalid.toISOString()</code> (Before <strong>2.18.0</strong>)</li>
<li><code>invalid.toString()</code></li>
</ul>
<p>The following return <code>false</code>:</p>
<ul>
<li><code>invalid.isAfter(another)</code></li>
<li><code>invalid.isAfter(invalid)</code></li>
<li><code>another.isAfter(invalid)</code></li>
<li><code>invalid.isBefore(another)</code></li>
<li><code>invalid.isBefore(invalid)</code></li>
<li><code>another.isBefore(invalid)</code></li>
<li><code>invalid.isBetween(another, another)</code></li>
<li><code>invalid.isBetween(invalid, invalid)</code></li>
<li><code>invalid.isSame(another)</code></li>
<li><code>invalid.isSame(invalid)</code></li>
<li><code>another.isSame(invalid)</code></li>
<li><code>invalid.isSameOrAfter(another)</code></li>
<li><code>invalid.isSameOrAfter(invalid)</code></li>
<li><code>another.isSameOrAfter(invalid)</code></li>
<li><code>invalid.isSameOrBefore(another)</code></li>
<li><code>invalid.isSameOrBefore(invalid)</code></li>
<li><code>another.isSameOrBefore(invalid)</code></li>
</ul>
<p>And these return <code>null</code> or <code>NaN</code> with some structure:</p>
<ul>
<li><code>invalid.get(unit)</code> returns null, as all other named getters</li>
<li><code>invalid.toArray() === [NaN, NaN, NaN, NaN, NaN, NaN]</code></li>
<li><code>invalid.toObject()</code> has all values set to <code>NaN</code></li>
<li><code>invalid.toDate()</code> returns an invalid Date object</li>
<li><code>invalid.toJSON()</code> returns null</li>
<li><code>invalid.unix()</code> returns null</li>
<li><code>invalid.valueOf()</code> returns null</li>
<li><code>invalid.toISOString()</code> returns null (As of <strong>2.18.0</strong>)</li>
</ul>
					</div>
          <div></div>
        </div>
      </div>
    </div>
  </div>
  
  <script src="static/js/highlight.min.js"></script>
  <script src="static/js/javascript.min.js"></script>
  <script>hljs.initHighlightingOnLoad();</script>
  <script>var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?7a7f78c805fbacc7e075d34f153031aa"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();</script>

  <style>
    .hero-centered {
      margin: 0;
          margin-left: 10px;
    }
#gtoc ul {
  list-style: none;
  margin-left: 0;
  line-height: 1.5rem;
  padding: 0;
}
#gtoc>ul>li {
  display: inline;
  border-right: 1px solid #000;
  margin-right: .4rem;
  padding-right: .4rem;
}
#gtoc>ul>li>a {
  color: #61b2a7;
}
#content_left {
  width: 49%;float: left;border-right: 1px solid #eee;    padding-right: 2%;
}
#content_right {
float: left;width: 48%;margin-left: 3%;
}
#column1 {
  padding: 0 2rem;
}
  </style>


</body></html>